// 同步代码 瞬间执行完
// 变量提升
// 背后有个什么机制 执行栈 两个阶段 编译 执行
// 代码的编译阶段 很快的执行完
// java c javac a.java 编译阶段(错误，变量的声明 作用域) .class 运行 .class
// js中变量 独立存在，变量类型由值决定
// 作用域 优先于变量存在的 全局作用域 在执行栈中执行时
// lhs rhs 
// 在js中要使用变量 到相应的作用域找出来 那个他
a = 1;
var a; // 申明了a  undefined
console.log(a);  // undefined